<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="es" dir="ltr" xmlns="http://www.w3.org/1999/xhtml" lang="es"><head>


    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="springbatch-dosideas-web_files/styles_002.css">
<link rel="stylesheet" type="text/css" href="springbatch-dosideas-web_files/styles.css">

<!--[if IE 7]>
    <link rel="stylesheet" type="text/css" href="http://www.dosideas.com/cursos/theme/standard/styles_ie7.css" />
<![endif]-->
<!--[if IE 6]>
    <link rel="stylesheet" type="text/css" href="http://www.dosideas.com/cursos/theme/standard/styles_ie6.css" />
<![endif]-->


    <meta name="keywords" content="moodle, Curso: Procesamiento con Spring Batch ">
    <title>Curso: Procesamiento con Spring Batch</title>
    <link rel="shortcut icon" href="http://www.dosideas.com/cursos/theme/dosideas/favicon.ico">
    <!--<style type="text/css">/*<![CDATA[*/ body{behavior:url(http://www.dosideas.com/cursos/lib/csshover.htc);} /*]]>*/</style>-->

<script type="text/javascript" src="springbatch-dosideas-web_files/javascript-static.js"></script>
<script type="text/javascript" src="springbatch-dosideas-web_files/javascript-mod.php"></script>
<script type="text/javascript" src="springbatch-dosideas-web_files/overlib.js"></script>
<script type="text/javascript" src="springbatch-dosideas-web_files/overlib_cssstyle.js"></script>
<script type="text/javascript" src="springbatch-dosideas-web_files/cookies.js"></script>
<script type="text/javascript" src="springbatch-dosideas-web_files/ufo.js"></script>

<script type="text/javascript" defer="defer">

//<![CDATA[

setTimeout('fix_column_widths()', 20);

function openpopup(url,name,options,fullscreen) {
  fullurl = "http://www.dosideas.com/cursos" + url;
  windowobj = window.open(fullurl,name,options);
  if (fullscreen) {
     windowobj.moveTo(0,0);
     windowobj.resizeTo(screen.availWidth,screen.availHeight);
  }
  windowobj.focus();
  return false;
}

function uncheckall() {
  void(d=document);
  void(el=d.getElementsByTagName('INPUT'));
  for(i=0;i<el.length;i++) {
    void(el[i].checked=0);
  }
}

function checkall() {
  void(d=document);
  void(el=d.getElementsByTagName('INPUT'));
  for(i=0;i<el.length;i++) {
    void(el[i].checked=1);
  }
}

function inserttext(text) {
  text = ' ' + text + ' ';
  if ( opener.document.forms['theform'].message.createTextRange && opener.document.forms['theform'].message.caretPos) {
    var caretPos = opener.document.forms['theform'].message.caretPos;
    caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
  } else {
    opener.document.forms['theform'].message.value  += text;
  }
  opener.document.forms['theform'].message.focus();
}

function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
//]]>
</script>
    
    
<!-- Agregado de Joomla --> 
<link rel="stylesheet" href="springbatch-dosideas-web_files/general.css" type="text/css">
<link href="springbatch-dosideas-web_files/template.css" rel="stylesheet" type="text/css">
<link href="springbatch-dosideas-web_files/rokslidestrip.css" rel="stylesheet" type="text/css">
<link href="springbatch-dosideas-web_files/light.css" rel="stylesheet" type="text/css">
<link href="springbatch-dosideas-web_files/menustyle3-light.css" rel="stylesheet" type="text/css">
<link href="springbatch-dosideas-web_files/rokzoom.css" rel="stylesheet" type="text/css">
<style type="text/css">
	div.wrapper { margin: 0 auto; width: 962px;padding:0;}
	/* clear fixes for pure css layout */
	    #maincol {float: left; margin-right: -250px; width: 100%;}
    #maincol-container {margin-right:250px;}
    #sidecol {float: right; width: 250px;}
    </style>	
    
<!-- FIN - Agregado de Joomla -->      
    
</head><body id="ff-optima" class="f-default light">
    
		<!-- begin wrapper -->
		<div class="wrapper">
			<!-- begin top section -->
			<div id="top">

									<div id="mod-search">
								<div class="moduletable">
					<form action="http://www.dosideas.com/index.php" method="post">
	<div class="search">
		<input name="searchword" id="mod_search_searchword" maxlength="20" alt="Buscar" class="inputbox" size="20" value="buscar..." onblur="if(this.value=='') this.value='buscar...';" onfocus="if(this.value=='buscar...') this.value='';" type="text">	</div>
	<input name="task" value="search" type="hidden">
	<input name="option" value="com_search" type="hidden">
</form>		</div>
	
					</div>

					
			</div>
			<!-- end top section -->
			<!-- begin mainbody -->
			<div id="mainbody-top">
				<div id="mainbody-top2">
					<div id="mainbody-top3">
					</div>
				</div>
			</div>
			<div id="mainbody">
				<!-- begin header -->
				<div id="header">
					<a href="http://www.dosideas.com/" class="nounder"><img src="springbatch-dosideas-web_files/blank.png" alt="" id="logo" border="0"></a>
					<div id="horiz-menu" class="splitmenu menustyle3">
						<div id="horiz-menu2">
								<ul class="menutop"><li class="item53"><a href="http://www.dosideas.com/noticias.html"><span>Noticias</span></a></li><li class="item72"><a href="http://www.dosideas.com/wiki"><span>Wiki</span></a></li><li id="current" class="active item76"><a href="http://www.dosideas.com/cursos"><span>Cursos</span></a></li><li class="item55"><a href="http://www.dosideas.com/foros.html"><span>Foros</span></a></li><li class="item57"><a href="http://www.dosideas.com/perfil.html"><span>Perfil</span></a></li></ul>								
						</div>
					</div>
				</div>
				<!-- end header -->
			</div>	
				
				    
<div id="page">
<a class="skip" href="#maincontent">Ir a contenido principal</a>

    <div id="header-home" class="clearfix">
        
    </div>    <div class="navbar clearfix">
        <div class="breadcrumb"><h2 class="accesshide">Usted está aquí</h2> <ul>
<li class="first"><a onclick="this.target='_top'" href="http://www.dosideas.com/cursos/">Cursos en Dos Ideas</a></li><li class="first"> <span class="accesshide">/&nbsp;</span><span class="arrow sep">►</span> SPRING-001</li></ul> &nbsp;&nbsp;&nbsp;&nbsp; Procesamiento con Spring Batch</div>
        <div class="navbutton">&nbsp;</div>
    </div>
    <!-- END OF HEADER -->
    <div id="content" class="clearfix"><div class="course-content"><table id="layout-table" summary="Tabla esquema" cellspacing="0"><tbody><tr><td style="width: 180px;" id="left-column"><div><a href="#sb-1" class="skip-block">Saltar Administración</a><div id="inst60" class="block_admin sideblock"><div class="header"><div class="title"><input src="springbatch-dosideas-web_files/switch_minus.gif" id="togglehide_inst60" onclick="elementToggleHide(this, true, function(el) {return findParentNode(el, 'DIV', 'sideblock'); }, 'Mostrar bloque Administración', 'Ocultar bloque Administración'); return false;" alt="Ocultar bloque Administración" title="Ocultar bloque Administración" class="hide-show-image" type="image"><h2>Administración</h2></div></div><div class="content">
<ul class="list">
<li class="r0"><div class="icon column c0"><img src="springbatch-dosideas-web_files/grades.gif" class="icon" alt=""></div><div class="column c1"><a href="http://www.dosideas.com/cursos/grade/report/index.php?id=7">Calificaciones</a></div></li>
</ul>
</div></div><script type="text/javascript">
//<![CDATA[
elementCookieHide("inst60","Mostrar bloque Administración","Ocultar bloque Administración");
//]]>
</script><span id="sb-1" class="skip-block-to"></span><a href="#sb-2" class="skip-block">Saltar Mis cursos</a><div id="inst61" class="block_course_list sideblock"><div class="header"><div class="title"><input src="springbatch-dosideas-web_files/switch_minus.gif" id="togglehide_inst61" onclick="elementToggleHide(this, true, function(el) {return findParentNode(el, 'DIV', 'sideblock'); }, 'Mostrar bloque Mis cursos', 'Ocultar bloque Mis cursos'); return false;" alt="Ocultar bloque Mis cursos" title="Ocultar bloque Mis cursos" class="hide-show-image" type="image"><h2>Mis cursos</h2></div></div><div class="content">
<ul class="list">
<li class="r0"><div class="icon column c0"><img src="springbatch-dosideas-web_files/course.gif" class="icon" alt="Curso"></div><div class="column c1"><a title="SPRING-001" href="http://www.dosideas.com/cursos/course/view.php?id=7">Procesamiento con Spring Batch</a></div></li>
</ul>
<div class="footer"><a href="http://www.dosideas.com/cursos/course/index.php">Todos los cursos</a> ...</div></div></div><script type="text/javascript">
//<![CDATA[
elementCookieHide("inst61","Mostrar bloque Mis cursos","Ocultar bloque Mis cursos");
//]]>
</script><span id="sb-2" class="skip-block-to"></span></div></td><td id="middle-column"><div><span id="maincontent"></span><h2 class="headingblock header outline">Diagrama de temas</h2><table class="topics" summary="Tabla esquema" width="100%"><tbody><tr id="section-0" class="section main"><td class="left side">&nbsp;</td><td class="content"><div class="summary">
<h1>Procesamiento con Spring Batch</h1>
<p><strong class="selflink"><img src="springbatch-dosideas-web_files/spring-framework-logo.png" alt="logo de Spring" title="logo de Spring" align="right" border="0" vspace="0" width="200" height="95" hspace="10">Spring Batch</strong> es el framework para procesamiento de lotes de <a href="http://wiki.dosideas.com/Spring_Framework" title="Spring Framework">Spring Framework</a>. Este framework apunta a crear una plataforma que brinde servicios comunes para los programas batch.</p>
<p>Este curso es una guía para ir aprendiendo las diferentes características de Spring Batch, partiendo de ejemplos concretos. <br></p>
<p>Toda esta guía se basa en torno a un <a href="http://www.dosideas.com/descargas/doc_download/9-demo-de-spring-batch.html">proyecto con ejemplos de Spring Batch</a>, el cual contiene distintos casos de uso. Iremos explicando cada caso por separado.</p>
<p>Durante el curso veremos: <br></p>
<ul>
  <li>Conceptos básicos de Spring Batch.</li>
  <li>Un primer Hola Mundo con Tasklets.</li>
  <li>Lectura de archivos.</li>
  <li>Escritura en archivos. <br></li>
  <li>Lectura de base de datos.</li>
  <li>Transformación de datos.</li>
</ul>
<h2>Dudas y consultas</h2>Realizá todas las consultas que necesites en el <a href="http://www.dosideas.com/foros.html?func=showcat&amp;catid=2">foro "Java" de Dos Ideas</a>. ¡Siempre va a haber alguien para darte una mano! </div><ul class="section img-text">
<li class="activity forum" id="module-70"><a href="http://www.dosideas.com/cursos/mod/forum/view.php?id=70"><img src="springbatch-dosideas-web_files/icon.gif" class="activityicon" alt=""> <span>Novedades<span class="accesshide"> Foro</span></span></a></li>
</ul><!--class='section'-->

</td><td class="right side">&nbsp;</td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr><tr id="section-1" class="section main"><td class="left side">1</td><td class="content"><div class="summary">
<h1>Configuración del proyecto</h1>
<p>Antes de comenzar descargaremos el proyecto de ejemplo (el cual
contiene además todas las librerias necesarias) y configuraremos la
base de datos que usaremos durante el curso.</p>
<h4>Sobre el proyecto de ejemplo</h4>
<p>El proyecto de ejemplo para descargar está dividido en paquetes independientes llamado <span style="font-style: italic;">demo0</span>, <span style="font-style: italic;">demo1</span>, <span style="font-style: italic;">demo2</span>, <span style="font-style: italic;">demo3</span>, etc. Cada paquete es independiente y contiene todas las clases y archivos de configuración para funcionar. </p>
<p>A su vez, cada paquete <span style="font-style: italic;">demo </span>tiene asociado un test JUnit que lo ejecuta. Los fuentes se encuentran en el directorio <span style="font-style: italic;">src </span>y los tests en el directorio <span style="font-style: italic;">test</span>.<br></p>
<p>Cada demo es un ejemplo autocontenido que utiliza distintas
funciones de Spring Batch. En los siguientes capítulos vamos a ir
avanzando por cada una de estos paquete <span style="font-style: italic;">demo</span>, explicando en detalle los conceptos nuevos y su funcionamiento.<br></p> </div><ul class="section img-text">
<li class="activity resource" id="module-71"><a href="http://www.dosideas.com/cursos/mod/resource/view.php?id=71"><img src="springbatch-dosideas-web_files/html.gif" class="activityicon" alt=""> <span>Proyecto de ejemplo de Spring Batch<span class="accesshide"> archivo</span></span></a></li>
<li class="activity resource" id="module-72"><a href="./configuracion_entorno.html"><img src="springbatch-dosideas-web_files/icon_002.gif" class="activityicon" alt=""> <span>Configuración del entorno<span class="accesshide"> Recurso</span></span></a></li>
</ul><!--class='section'-->

</td><td class="right side"><a href="http://www.dosideas.com/cursos/course/view.php?id=7&amp;topic=1" title="Mostrar sólo el tema 1"><img src="springbatch-dosideas-web_files/one.gif" alt="Mostrar sólo el tema 1"></a><br></td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr><tr id="section-2" class="section main"><td class="left side">2</td><td class="content"><div class="summary">
<h1>Demo #0: Hola Mundo<br></h1>Spring Batch es un framework para el procesamiento por lotes (o ejecuciones "batch"). Spring Batch provee: <br>
<ul>
  <li>un marco general para la creación de programas batch.</li>
  <li>almacenamiento de la información de ejecuciones.</li>
  <li>utilización de conceptos conocidos para el procesamiento batch (Job, Step, JobInstance, JobExecution).</li>
  <li>utilidades para realizar acciones comunes en procesamietos batch (lectura/escritura de archivos, acceso a base de datos, etc). <br></li>
</ul>Los conceptos principales de Spring Batch son: <br>
<ul>
  <li><span style="font-weight: bold;">Job</span>: representa un
trabajo a ejecutar. Es el trabajo batch. Está compuesto de uno o más
Step (pasos), los cuales se ejecutan secuencialmente.<br></li>
  <li><span style="font-weight: bold;">Step</span>:
es un paso dentro de un Job. Representa una acción dentro de todo el
Job. Un step puede leer un archivo, escribir en una base de datos,
realizar una transformación, etc. <br></li>
  <li><span style="font-weight: bold;">JobRepository</span>:
es un repositorio donde se almacenan las ejecuciones de los Job.
Usualmente es una base de datos con tablas propias de Spring Batch. </li>
</ul>En el recurso siguiente vas a encontrar más información sobre estos conceptos básicos, y una explicación de la <span style="font-weight: bold;">demo0</span> del proyecto. <br> </div><ul class="section img-text">
<li class="activity resource" id="module-73"><a href="./demo0/214-les-presentamos-spring-batch.html"><img src="springbatch-dosideas-web_files/html.gif" class="activityicon" alt=""> <span>Conceptos básicos y demo0: Hola Mundo<span class="accesshide"> archivo</span></span></a></li>
<li class="activity resource" id="module-74"><a href="http://www.dosideas.com/cursos/mod/resource/view.php?id=74"><img src="springbatch-dosideas-web_files/web.gif" class="activityicon" alt=""> <span>Spring Batch en la wiki de Dos Ideas<span class="accesshide"> archivo</span></span></a></li>
</ul><!--class='section'-->

</td><td class="right side"><a href="http://www.dosideas.com/cursos/course/view.php?id=7&amp;topic=2" title="Mostrar sólo el tema 2"><img src="springbatch-dosideas-web_files/one.gif" alt="Mostrar sólo el tema 2"></a><br></td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr><tr id="section-3" class="section main"><td class="left side">3</td><td class="content"><div class="summary">
<h1>Demo #1: lectura de archivos</h1>
<p>En el paquete "demo1" veremos como poder leer un archivo de texto
separado por comas (archivo "planetas.csv"), y transformaremos cada
línea a un objeto que la represente. Luego imprimiremos ese objeto por
consola. <br></p>
<h3>Las clases<br></h3>
<p>Para esto deberemos desarrollar dos clases: </p>
<ul>
  <li><span style="font-weight: bold;">Planeta</span>, que representa cada una de las líneas del archivo. <br></li>
  <li><span style="font-weight: bold;">ConsolaItemWriter</span>, el cual imprime por consola un objeto Planeta. <br></li>
</ul>
<h3>La configuración</h3> En el archivo de configuración <span style="font-style: italic;">spring-batch-demo.xml</span> <span style="font-style: italic;"></span>se ecuentra toda la configuración necesaria para Spring Batch. Los beans importantes declarados en este archivo: <br>
<ul>
  <li><span style="font-weight: bold;">jobRepository</span>, que
será el repositorio para las ejecuciones de nuestra tarea. Este bean
registrará en la base de datos información sobre la corrida. <br></li>
  <li><span style="font-weight: bold;">trabajoBatch</span>, que es el Job (Trabajo) en cuestión. Hace referencia a un único Step (Paso), llamado <span style="font-style: italic;">imprimirPorConsola</span>. El bean <span style="font-style: italic;">imprimirPorConsola </span>contiene un lector de items (itemReader) y un procesador de items (itemWriter). <br></li>
  <li><span style="font-weight: bold;">planetaItemReader</span>,
que será el encargado de leer el archivo de texto separado por comas, y
transformar cada línea a un objeto Planeta. El bean
planetaFieldSetMapper indica que se usará la clase Planeta para
transformar cada línea del archivo. <br></li>
  <li><span style="font-weight: bold;">consolaItemWriter</span>, que será el encargado de procesar cada una de las líneas convertidas a Planeta por planetaItemReader. </li>
</ul>El test ubicado en el paquete <span style="font-style: italic;">demo1</span> ejecuta esta tarea. <br> </div></td><td class="right side"><a href="http://www.dosideas.com/cursos/course/view.php?id=7&amp;topic=3" title="Mostrar sólo el tema 3"><img src="springbatch-dosideas-web_files/one.gif" alt="Mostrar sólo el tema 3"></a><br></td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr><tr id="section-4" class="section main"><td class="left side">4</td><td class="content"><div class="summary">
<h1>Demo #2: transformación de archivos</h1>En el paquete demo2 veremos
cómo leer un archivo de texto y realizar una transformación sobre cada
una de las líneas, para generar un nuevo archivo resultante. <br>
<h3>Las clases<br></h3>Para esta solución se programan dos clases: <br>
<ul>
  <li><span style="font-weight: bold;">Planeta</span>, que representa cada una de las líneas del archivo. </li>
  <li><span style="font-weight: bold;">PlanetaFieldSetCreator</span>, que se encargará de transformar un objeto Planeta en una linea nueva para el archivo resultante. <br></li>
</ul>
<h3>La configuración</h3> En el archivo de configuración <span style="font-style: italic;">spring-batch-demo.xml</span> del paquete se ecuentra toda la configuración necesaria para Spring Batch. Los beans importantes declarados en este archivo:<br>
<ul>
  <li><span style="font-weight: bold;">convertirArchivo</span>, el cual es un paso que tiene un lector de items (itemReader) y un procesador de items (itemWriter). <br></li>
  <li><span style="font-weight: bold;">planetaItemReader</span>, que es un ItemReader que se encarga de leer el archivo de origen y convertir cada línea en un objeto Planeta. <br></li>
  <li><span style="font-weight: bold;">archivoPlanoItemWriter</span>,
que es un ItemWriter que se encargará de tomar un Planeta y convertirlo
a una línea de este archivo. Para hacer esto utiliza un <span style="font-style: italic;">fieldSetCreator </span>creado por nosotros: la clase PlanetaFieldSetCreator.<br></li>
</ul> </div></td><td class="right side"><a href="http://www.dosideas.com/cursos/course/view.php?id=7&amp;topic=4" title="Mostrar sólo el tema 4"><img src="springbatch-dosideas-web_files/one.gif" alt="Mostrar sólo el tema 4"></a><br></td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr><tr id="section-5" class="section main"><td class="left side">5</td><td class="content"><div class="summary">
<h1> Demo #3: acceso a una base de datos</h1>En la demo del paquete
demo3 encontraremos cómo acceder a una base de datos utilizando un
query SQL, convertir cada fila del resultado en un objeto y finalmente
imprimirlo por consola. <br>
<h3>Las clases</h3>
<p>Para esto deberemos desarrollar dos clases: </p>
<ul>
  <li><span style="font-weight: bold;">Planeta</span>, que representa cada una de las filas resultantes del query. <br></li>
  <li><span style="font-weight: bold;">ConsolaItemWriter</span>, el cual imprime por consola un objeto Planeta. </li>
</ul>
<h3>La configuración</h3>En el archivo de configuración <span style="font-style: italic;">spring-batch-demo.xml</span><span style="font-style: italic;"> </span>se ecuentra toda la configuración necesaria para Spring Batch. Los beans importantes declarados en este archivo: <br>
<ul>
  <li><span style="font-weight: bold;">trabajoBatch</span>, que es el Job (Trabajo) en cuestión. Hace referencia a un único Step (Paso), llamado <span style="font-style: italic;">imprimirPorConsola</span>. El bean <span style="font-style: italic;">imprimirPorConsola </span>contiene un lector de items (itemReader) y un procesador de items (itemWriter). <br></li>
  <li><span style="font-weight: bold;">planetaItemReader</span>, que será el encargado de ejecutar un query y transformar cada una de las filas en un objeto Planeta. <br></li>
  <li><span style="font-weight: bold;">consolaItemWriter</span>, que será el encargado de procesar e imprimir por consola cada uno de los Planeta creados por planetaItemWriter.</li>
</ul></div></td><td class="right side"><a href="http://www.dosideas.com/cursos/course/view.php?id=7&amp;topic=5" title="Mostrar sólo el tema 5"><img src="springbatch-dosideas-web_files/one.gif" alt="Mostrar sólo el tema 5"></a><br></td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr><tr id="section-6" class="section main"><td class="left side">6</td><td class="content"><div class="summary"><h1>Demo #4: exportando una tabla hacia archivo</h1>En
la demo del paquete demo3 encontraremos cómo acceder a una base de
datos utilizando un query SQL, convertir cada fila del resultado en un
objeto y finalmente imprimirlo por consola. <br> 
<h3>Las clases</h3> 
<p>Para esto deberemos desarrollar dos clases: </p> 
<ul> 
  <li><span style="font-weight: bold;">Planeta</span>, que representa cada una de las filas resultantes del query. <br></li> 
  <li><span style="font-weight: bold;">PlanetaFieldSetCreator</span>, que se encargará de transformar un objeto Planeta en una línea nueva para el archivo resultante </li> 
</ul> 
<h3>La configuración</h3>En el archivo de configuración <span style="font-style: italic;">spring-batch-demo.xml</span><span style="font-style: italic;"> </span>se ecuentra toda la configuración necesaria para Spring Batch. Los beans importantes declarados en este archivo: <br> 
<ul> 
  <li><span style="font-weight: bold;">trabajoBatch</span>, que
es el Job (Trabajo) en cuestión. Hace referencia a un único Step
(Paso), el cual contiene un bean con un lector de items (itemReader) y
un procesador de items (itemWriter). <br></li> 
  <li><span style="font-weight: bold;">planetaItemReader</span>, que será el encargado de ejecutar un query y transformar cada una de las filas en un objeto Planeta. <br></li> 
  <li><span style="font-weight: bold;">archivoPlanoItemWriter</span>, que será el encargado de procesar cada uno de los Planeta leídos por <span style="font-style: italic;">planetaItemReader</span> y generar una línea en el archivo de texto resultante.<br></li> 
</ul> </div></td><td class="right side"><a href="http://www.dosideas.com/cursos/course/view.php?id=7&amp;topic=6" title="Mostrar sólo el tema 6"><img src="springbatch-dosideas-web_files/one.gif" alt="Mostrar sólo el tema 6"></a><br></td></tr><tr class="section separator"><td colspan="3" class="spacer"></td></tr></tbody></table></div></td><td style="width: 180px;" id="right-column"><div><a href="#sb-3" class="skip-block">Saltar Descarga del proyecto</a><div id="inst65" class="block_html sideblock"><div class="header"><div class="title"><input src="springbatch-dosideas-web_files/switch_minus.gif" id="togglehide_inst65" onclick="elementToggleHide(this, true, function(el) {return findParentNode(el, 'DIV', 'sideblock'); }, 'Mostrar bloque Descarga del proyecto', 'Ocultar bloque Descarga del proyecto'); return false;" alt="Ocultar bloque Descarga del proyecto" title="Ocultar bloque Descarga del proyecto" class="hide-show-image" type="image"><h2>Descarga del proyecto</h2></div></div><div class="content">
<div style="text-align: center;"><a href="http://www.dosideas.com/descargas/doc_download/9-demo-de-spring-batch.html"><img src="springbatch-dosideas-web_files/descargas-de-archivos.png" alt="Descarga" title="Descarga" border="0" vspace="0" width="128" height="128" hspace="0"></a><br><a href="http://www.dosideas.com/descargas/doc_download/9-demo-de-spring-batch.html">Descargá el proyecto de ejemplo</a></div> </div></div><script type="text/javascript">
//<![CDATA[
elementCookieHide("inst65","Mostrar bloque Descarga del proyecto","Ocultar bloque Descarga del proyecto");
//]]>
</script><span id="sb-3" class="skip-block-to"></span><a href="#sb-4" class="skip-block">Saltar Dudas y consultas</a><div id="inst66" class="block_html sideblock"><div class="header"><div class="title"><input src="springbatch-dosideas-web_files/switch_minus.gif" id="togglehide_inst66" onclick="elementToggleHide(this, true, function(el) {return findParentNode(el, 'DIV', 'sideblock'); }, 'Mostrar bloque Dudas y consultas', 'Ocultar bloque Dudas y consultas'); return false;" alt="Ocultar bloque Dudas y consultas" title="Ocultar bloque Dudas y consultas" class="hide-show-image" type="image"><h2>Dudas y consultas</h2></div></div><div class="content">
<div style="text-align: center;"><a href="http://www.dosideas.com/foros.html?func=showcat&amp;catid=2"><img title="Ayuda" alt="Ayuda" src="springbatch-dosideas-web_files/info.png" border="0" vspace="0" width="128" height="128" hspace="0"></a><br></div>
<div style="text-align: center;">Respondemos todas tus dudas en el <a href="http://www.dosideas.com/foros.html?func=showcat&amp;catid=2">foro "Java" de Dos Ideas</a> </div> </div></div><script type="text/javascript">
//<![CDATA[
elementCookieHide("inst66","Mostrar bloque Dudas y consultas","Ocultar bloque Dudas y consultas");
//]]>
</script><span id="sb-4" class="skip-block-to"></span></div></td></tr></tbody></table></div>

</div><div id="footer"></div>
</div>


<div id="mainbody-bottom">
<div id="mainbody-bottom2">
<div id="mainbody-bottom3">
</div>
</div>
</div>

<p align="center">2008, Dos Ideas. Contenido publicado bajo <a href="http://creativecommons.org/licenses/by-sa/2.5/ar/">Creative Commons</a>.</p>


<!--Google Analytics-->
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script src="springbatch-dosideas-web_files/ga.js" type="text/javascript"></script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4281328-3");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</div></body></html>